package cn.lixin.pet.service;

import cn.lixin.basic.utils.PageList;
import cn.lixin.pet.domain.Pet;
import cn.lixin.pet.domain.SearchMasterMsg;
import cn.lixin.basic.service.IBaseService;
import cn.lixin.pet.query.SearchMasterMsgQuery;

public interface ISearchMasterMsgService extends IBaseService<SearchMasterMsg> {

    /**
     * 发布寻主信息
     * @param searchMasterMsg
     * @param id
     */
    void publish(SearchMasterMsg searchMasterMsg, Long id);

    /**
     * 未处理
     * @param searchMasterMsgQuery
     * @param id
     * @return
     */
    PageList<SearchMasterMsg> pending(SearchMasterMsgQuery searchMasterMsgQuery, Long id);

    /**
     * 已处理
     * @param searchMasterMsgQuery
     * @param id
     * @return
     */
    PageList<SearchMasterMsg> processed(SearchMasterMsgQuery searchMasterMsgQuery, Long id);

    /**
     * 发布 ---  1查询当前登录的用户
     *          2查询离用户最近的店铺
     *          3保存用户信息（下单、发布都需要用户信息）
     * @param searchMasterMsgQuery
     * @param logininfoId
     */
    PageList<SearchMasterMsg> queryUserMsg(SearchMasterMsgQuery searchMasterMsgQuery, Long logininfoId);

    /**
     * 处理未处理信息
     * @param pet
     * @param logininfoId
     * @return
     */
    void handle(Pet pet, Long logininfoId);
}
